Automatically playing partially visible videos

ABSTRACT

A user device receives a plurality of content items that include a plurality of videos for presentation to a user of the user device, and renders a user interface on the user device. The user interface includes a first video of the plurality of content items that is being played concurrently with a second video of the plurality of videos. The second video is playing while being partially visible in the user interface.

TECHNICAL FIELD

Aspects and implementations of the present disclosure relate topresenting videos, and more specifically, to automatically playingpartially visible videos.

BACKGROUND

Videos can be played on a display of a user device one at a time. A usermay be watching a first video and an application may not play anothervideo until the first video has stopped playing, which may cause a delaybetween videos being played. Some applications present videos as acarousel (a scrollable set of multiple videos) that can be scrolledthrough by a user (e.g., by activating a scroll button or via a swipinggesture). Applications typically do not start playing a video containedwithin the carousel until the video is fully visible on the display of auser device.

SUMMARY

The following presents a simplified summary of various aspects of thisdisclosure in order to provide a basic understanding of such aspects.This summary is not an extensive overview of all contemplated aspects,and is intended to neither identify key or critical elements nordelineate the scope of such aspects. Its purpose is to present someconcepts of this disclosure in a simplified form as a prelude to themore detailed description that is presented later.

In an aspect of the present disclosure, a processing device of a userdevice receives a plurality of content items comprising a plurality ofvideos for presentation to a user of the user device and renders a userinterface on the user device. The user interface includes a first videoof the plurality of content items that is being played concurrently witha second video of the plurality of content items. The second video isplaying while being partially visible in the user interface.

In one implementation, the plurality of content items is displayed in acontent feed in the user interface, the content feed being scrollable ina first direction parallel to an orientation of the user device, and theplurality of content items being scrollable in the content feed in asecond direction that is perpendicular to the first direction of thecontent feed. In one implementation, the first video is playing whilebeing fully visible in the user interface. In one implementation, thefirst video is playing while being partially visible in the userinterface.

In one implementation, the processing device is further to render theuser interface on the user device with an additional video of theplurality of content items. The additional video is playing while beingpartially visible in the user interface and concurrently with at leastone of the first video playing in the user interface or the second videoplaying in the user interface.

In one implementation, audio of the second video that is playing whilebeing partially visible in the user interface is disabled and audio ofthe first video that is concurrently playing in the user interface isenabled. In one implementation, the playing of the second video that ispartially visible in the user interface is triggered based on the firstvideo. In one implementation, at least one video in the plurality ofcontent items is a video advertisement for which an advertiser is to becharged.

In one implementation, the processing device is further to determinethat a consumption time of the first video that is playing in the userinterface does not satisfy a threshold. The first video is associatedwith a content provider. The processing device is further to determine aconsumption time of at least one other video that is associated with thesame content provider, determine that a cumulative consumption time ofthe first video and the at least one other video satisfies thethreshold, and determine a content provider fee for the content providerbased on the cumulative consumption time. In one implementation, todetermine a consumption time of the at least one other video that isassociated with the same content provider, the processing device is toselect the at least one other video that is associated with the samecontent provider from a different plurality of content items.

An apparatus to automatically play partially visible videos is alsodescribed. In one implementation, the apparatus includes means forreceiving a plurality of content items comprising a plurality of videosfor presentation to a user of the user device and means for rendering auser interface on the user device. The user interface includes a firstvideo of the plurality of content items that is being playedconcurrently with a second video of the plurality of content items. Thesecond video is playing while being partially visible in the userinterface.

In one implementation, the apparatus includes means for displaying theplurality of content items in a content feed in the user interface, thecontent feed being scrollable in a first direction parallel to anorientation of the user device, and the plurality of content items beingscrollable in the content feed in a second direction that isperpendicular to the first direction of the content feed. In oneimplementation, the apparatus includes means for playing the first videowhile being fully visible in the user interface. In one implementation,the apparatus includes means for playing the first video while beingpartially visible in the user interface.

In one implementation, the apparatus further includes means forrendering the user interface on the user device with an additional videoof the plurality of content items. The additional video is playing whilebeing partially visible in the user interface and concurrently with atleast one of the first video playing in the user interface or the secondvideo playing in the user interface.

In one implementation, audio of the second video that is playing whilebeing partially visible in the user interface is disabled and audio ofthe first video that is concurrently playing in the user interface isenabled. In one implementation, the playing of the second video that ispartially visible in the user interface is triggered based on the firstvideo. In one implementation, at least one video in the plurality ofcontent items is a video advertisement for which an advertiser can becharged for.

In one implementation, the apparatus further includes means fordetermining that a consumption time of the first video that is playingin the user interface does not satisfy a threshold. The first video isassociated with a content provider. The apparatus further includes meansfor determining a consumption time of at least one other video that isassociated with the same content provider, means for determining that acumulative consumption time of the first video and the at least oneother video satisfies the threshold, and means for determining a contentprovider fee for the content provider based on the cumulativeconsumption time. In one implementation, the apparatus further includesmeans for determining a consumption time of the at least one other videothat is associated with the same content provider, and means forselecting the at least one other video that is associated with the samecontent provider from a different plurality of content items.

In additional implementations, computing devices for performing theoperations of the above described implementations are also implemented.Additionally, in implementations of the disclosure, a computer readablestorage media may store instructions for performing the operations ofthe implementations described herein.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects and implementations of the present disclosure will be understoodmore fully from the detailed description given below and from theaccompanying drawings of various aspects and implementations of thedisclosure, which, however, should not be taken to limit the disclosureto the specific aspects or implementations, but are for explanation andunderstanding only.

FIG. 1 depicts an example scrollable set of content items, in accordancewith one implementation of the present disclosure.

FIG. 2 illustrates an example of system architecture for auto-play ofone or more partially visible videos, in accordance with oneimplementation of the disclosure.

FIG. 3 depicts a flow diagram of aspects of a method for auto-playingone or more partially visible videos concurrently with a video that isplaying in a user interface, in accordance with one implementation ofthe present disclosure.

FIG. 4 depicts an example scrollable set of content items scrolling inthe same scrolling direction of a content feed, in accordance with oneimplementation of the present disclosure.

FIG. 5 depicts an example scrollable set of content items scrolling in adirection that is perpendicular to the scrolling direction of a contentfeed, in accordance with one implementation of the present disclosure.

FIG. 6 depicts examples of partially visible videos in a scrollable setof content items, in accordance with one implementation of the presentdisclosure.

FIG. 7 depicts an example of a partially visible video transitioning toa fully visible video, in accordance with one implementation of thepresent disclosure.

FIG. 8 depicts examples of scrollable sets of content items, inaccordance with one implementation of the present disclosure.

FIG. 9 depicts a flow diagram of aspects of a method for determining acontent provider fee based on a cumulative consumption time, inaccordance with one implementation of the present disclosure.

FIG. 10 depicts examples of scrollable sets of videos, in accordancewith one implementation of the present disclosure.

FIG. 11 depicts a flow diagram of aspects of a method for determining acontent provider fee based on a cumulative consumption time and multiplethresholds, in accordance with one implementation of the presentdisclosure.

FIG. 12 depicts a block diagram of an example computing device operatingin accordance with one or more aspects of the present disclosure.

DETAILED DESCRIPTION

Aspects and implementations of the present disclosure are directed toauto-play of partially visible videos. Traditional applicationstypically play videos on a display of a user device one at a time. Auser may be watching a first video and an application may not playanother video until the first video has stopped playing, which may causea delay between videos being played. Traditional applications typicallyalso do not start playing a video until the video is fully visible onthe display of the user device. As such, there is generally a delay instarting the playing of a video while the application is waiting for thevideo to become fully visible on the display. Aspects of the presentdisclosure can reduce such a delay by providing auto-play of partiallyvisible videos. Auto-playing a video refers to starting the playback ofa video by a user device without receiving a user request to play thevideo (e.g., starting the playback of a video responsive to a triggerother than such a user request).

In one implementation, the partially visible videos are part of ascrollable set of content items. A scrollable set of content items caninclude a group of videos, which when presented in a graphical userinterface (GUI) of an application executing on a user device, can bescrolled through by a user (e.g., by activating a scroll button or via aswiping gesture). FIG. 1 depicts an example scrollable set of contentitems, in accordance with one implementation of the present disclosure.A user interface 100 of an application can be rendered on user device(e.g., a mobile phone) 103. For example, the application may be a socialnetwork application. The user interface 100 can include a scrollable setof content items 107 that includes video 105 and video 109. Video 105and video 109 may be video advertisements from the same advertiser orfrom different advertisers. A user can swipe the touch screen of theuser device 103, for example, from right to left, to scroll through thescrollable set of content items 107. One of the videos in the scrollableset of content items can be fully visible in the user interface whileone or more videos of the set of content items can be partially visiblein the user interface. For example, video 105 may be fully visible inthe user interface 100, while video 109 may be partially visible in theuser interface 100. A user may swipe the user interface 100, forexample, from right to left, and video 105 may be no longer visible inthe user interface 100, video 109 may transition from a partiallyvisible video to a fully visible video, and another video in thescrollable set of content items 107 may be presented as a new partiallyvisible video in the user interface 100.

Unlike traditional solutions that wait for a video to be fully visiblein a user interface before playing the video, aspects of the presentdisclosure can play a video (e.g., video 109) while the video ispartially visible in the user interface. In some implementations, apartially visible video (e.g., video 109) can start playing withoutwaiting for a previous video (e.g., video 105) to stop playing. As such,implementations of the present disclosure can concurrently play one ormore fully visible videos with one or more partially visible videos(e.g., video 109 and video 105) or multiple partially visible videos inthe same user interface.

FIG. 2 illustrates an example of system architecture 200 for auto-playof one or more partially visible videos, in accordance with oneimplementation of the disclosure. The system architecture 200 includesuser devices 210A through 210Z, one or more networks 205, one or moredata stores 206, one or more servers 230, and one or more platforms(e.g., content sharing platform 220, recommendation platform 257,advertisement platform 265, mobile platform 250, social network platform260, search platform 245, content provider platform 297, andcollaboration platform 255). The user devices 210A through 210Z can beclient devices.

The one or more networks 205 can include one or more public networks(e.g., the Internet), one or more private networks (e.g., a local areanetwork (LAN) or one or more wide area networks (WAN)), one or morewired networks (e.g., Ethernet network), one or more wireless networks(e.g., an 802.11 network or a Wi-Fi network), one or more cellularnetworks (e.g., a Long Term Evolution (LTE) network), routers, hubs,switches, server computers, and/or a combination thereof. In oneimplementation, some components of architecture 200 are not directlyconnected to each other. In one implementation, architecture 200includes separate networks 205.

The one or more data stores 206 can be memory (e.g., random accessmemory), cache, drives (e.g., hard drive), flash drives, databasesystems, or another type of component or device capable of storing data.The one or more data stores 206 can include multiple storage components(e.g., multiple drives or multiple databases) that may also spanmultiple computing devices (e.g., multiple server computers). The datastores 206 can be persistent storage that are capable of storing data. Apersistent storage can be a local storage unit or a remote storage unit.Persistent storage can be a magnetic storage unit, optical storage unit,solid state storage unit, electronic storage units (main memory), orsimilar storage unit. Persistent storage can be a monolithic device or adistributed set of devices. A ‘set’, as used herein, refers to anypositive whole number of items.

Content items 221 can be stored in one or more data stores 206. The datastores 206 can be part of one or more platforms. Examples of a contentitem 221 can include, and are not limited to, digital video, digitalmovies, animated images, digital photos, digital music, digital audio,website content, social media updates, electronic books (ebooks),electronic magazines, digital newspapers, digital audio books,electronic journals, web blogs, real simple syndication (RSS) feeds,electronic comic books, software applications, etc. Content item 221 isalso referred to as a media item. For brevity and simplicity, an onlinevideo (also hereinafter referred to as a video) is used as an example ofa content item 221 throughout this document.

The content items 221 can be provided by content providers for storagein one or more data stores 206. A content provider can be a user, acompany, an organization, etc. A content provider can provide contentsitems 221 that are video advertisements. A content provider thatprovides video advertisements is hereinafter referred to as anadvertiser. For example, a content item 221 may be a video advertisementfor a car provided by a car advertiser. A service provider (e.g.,content sharing platform 220, recommendation platform 257, advertisementplatform 265, mobile platform 250, social network platform 260, searchplatform 245, content provider platform 297, and collaboration platform255) can charge an advertiser a fee, for example, when the serviceprovider provides the advertisements on user devices 210A-210Z to beviewed by users.

The user devices 210A-210Z can include devices, such as smart phones,cellular telephones, personal digital assistants (PDAs), portable mediaplayers, netbooks, laptop computers, electronic book readers, tabletcomputers, desktop computers, set-top boxes, gaming consoles,televisions, and the like.

The individual user devices 210A-210Z can include a communicationapplication 215. A content item 221 can be consumed via a communicationapplication 215, the Internet, etc. As used herein, “media,” “mediaitem,” “online media item,” “digital media,” “digital media item,”“content,” and “content item” can include an electronic file that can beexecuted or loaded using software, firmware or hardware configured topresent a content item. In one implementation, the communicationapplications 215 may be applications that allow users to compose, send,and receive content items 221 (e.g., videos) over a platform (e.g.,content sharing platform 220, recommendation platform 257, advertisementplatform 265, mobile platform 250, social network platform 260, searchplatform 245, collaboration platform 255, and content provider platform297) and/or a combination of platforms and/or networks.

For example, the communication application 215 may be a socialnetworking application, video sharing application, photo sharingapplication, chat application, mobile application of a content provideror any combination of such applications. The communication application215 in a user device can render, display, and/or present one or morecontent items 221 (e.g., videos) to one or more users. For example, thecommunication application 215 can provide one or more user interfaces(e.g., graphical user interfaces) to be rendered in a display of a userdevice for sending, receiving and/or playing videos.

In one implementation, the individual user devices 210A-210Z includes acontent viewer 213 (e.g., media player) to render, display, and/orpresent content items 221 (e.g., videos) to one or more users. In oneimplementation, a content viewer 213 is embedded in an application(e.g., communication application 215). For example, for mobile devices,the communication application 215 can be a mobile application that canbe downloaded from a platform (e.g., content sharing platform 220,social network platform 260, content provider platform 297, etc.) andcan include a content viewer 213 (e.g., media player). In anotherexample, the communication application 215 can be a desktop application,such as a web browser that can access, retrieve, present, and/ornavigate content (e.g., web pages such as Hyper Text Markup Language(HTML) pages, digital media items, etc.) served by a web server of aplatform. The content viewer 213 can be a web browser plugin or aseparate application. In one implementation, the content viewer 213 isembedded in a web page. For example, the content viewer 213 may be anembedded media player (e.g., a Flash® player or an HTMLS player) that isembedded in a document (e.g., a web page).

One or more platforms (e.g., content sharing platform 220,recommendation platform 257, advertisement platform 265, mobile platform250, social network platform 260, search platform 245, collaborationplatform 255, and content provider platform 297) can include a contentfeed component 290 to provide a content feed 295 to users viacommunication applications 215 on user devices 210A-210Z. A content feed295 can be a list of content associated with one or more contentproviders. The individual content of a content feed is hereinafterreferred to as “feed items”. The list can be a scrollable list that isupdatable to include new items and/or remove old (less recent) items.

The content provider platform 297 can provide a service and the contentprovider can be the service provider. For example, a content providermay be a streaming service provider that provides a media streamingservice via a communication application 215 for users to play TV shows,clips, and movies, on user devices 210A-210Z via the content providerplatform 297. The content provider platform 297 can include a contentfeed component 290 to present a content feed 295 that lists feed items,such as trending television clips, popular television clicks, popularmovie trailers, etc. in the user interface of the communicationapplication 215. The content provider platform 297 can be one or morecomputing devices (such as a rackmount server, a router computer, aserver computer, a personal computer, a mainframe computer, a laptopcomputer, a tablet computer, a desktop computer, etc.), data stores(e.g., hard disks, memories, databases), networks, software components,and/or hardware components that can be used to provide content to users.

The social network platform 260 can provide an online social networkingservice. The social network platform 260 can provide a communicationapplication 215 for users to create profiles and perform activity withtheir profile. Activity can include updating a profiling, exchangingmessages with other users, posting status updates, photos, videos, etc.to share with other users, evaluating (e.g., like, comment, share,recommend) status updates, photos, videos, etc., and receivingnotifications of other users activity. Content providers for a contentfeed 295 can include users of the social network platform 260 andadvertisers providing advertisements on the social network platform 260.The social network platform 260 can include a content feed component 290to present a content feed 295 that lists feed items, such as, activity(e.g., posted status updates, profile updates, photos being shared,videos being shared), in the user interface of the communicationapplication 215. The social network platform 260 can be one or morecomputing devices (such as a rackmount server, a router computer, aserver computer, a personal computer, a mainframe computer, a laptopcomputer, a tablet computer, a desktop computer, etc.), data stores(e.g., hard disks, memories, databases), networks, software components,and/or hardware components that can be used to provide communicationbetween users.

The mobile platform 250 can be and/or include one or more computingdevices (e.g., servers), data stores, networks (e.g., phone network,cellular network, local area network, the Internet, and/or a combinationof networks), software components, and/or hardware components that canbe used to allow users to connect to, share information, and/or interactwith each other using one or more mobile devices (e.g., phones, tabletcomputers, laptop computers, wearable computing devices, etc.) and/orany other suitable device. For example, the mobile platform 250 mayenable telephony communication, Short Message Service (SMS) messaging,Multimedia Message Service (MMS) messaging, text chat, and/or any othercommunication between users. The mobile platform 250 can support usercommunications via video messaging, video chat, and/or videoconferences.Content providers for a content feed 295 can include users of the mobileplatform 250 and advertisers providing advertisements on the mobileplatform 250. The mobile platform 250 can include a content feedcomponent 290 to present a content feed 295 that lists feed items, suchas messages (e.g., text messages, video messages, chat messages), in theuser interface of the communication application 215 (e.g., mobile textmessaging application, mobile video chat application).

The collaboration platform 255 can enable collaboration services, suchas video chat, video messaging, and audio and/or videoconferences (e.g.,among the users of devices 210A-210Z) using, for example, streamingvideo or voice over IP (VoIP) technologies, cellular technologies, LANand/or WAN technologies, and may be used for personal, entertainment,business, educational or academically oriented interactions. Contentproviders for a content feed 295 can include users of the collaborationplatform 255. Collaboration platform 255 can include a content feedcomponent 290 to provide video conferencing services and to present acontent feed 295 that lists feed items, such as content from newsservices, social networking services and/or content hosting services, inthe user interface of the communication application 215. For instance,the collaboration platform 255 can allow a user to view a content feedthat includes feed items, such as, news and start a videoconferencewhile viewing the content feed. In another example, the collaborationplatform 155 may allow a user to start a videoconference while visitinga social networking site or video content hosting site. Thecollaboration platform 255 can be one or more computing devices (such asa rackmount server, a router computer, a server computer, a personalcomputer, a mainframe computer, a laptop computer, a tablet computer, adesktop computer, etc.), data stores (e.g., hard disks, memories,databases), networks, software components, and/or hardware componentsthat can be used to provide communication between users.

The recommendation platform 257 can be one or more computing devices(such as a rackmount server, a router computer, a server computer, apersonal computer, a mainframe computer, a laptop computer, a tabletcomputer, a desktop computer, etc.), data stores (e.g., hard disks,memories, databases), networks, software components, and/or hardwarecomponents that can be used to generate and provide contentrecommendations (e.g., articles, videos, posts, news, games, etc.). Therecommendation platform 257 can include a content feed component 290 topresent a content feed 295 that lists feed items, such as the contentrecommendations (e.g., recommended videos, articles, links, etc.) in theuser interface of the communication application 215.

The search platform 245 can be one or more computing devices (such as arackmount server, a router computer, a server computer, a personalcomputer, a mainframe computer, a laptop computer, a tablet computer, adesktop computer, etc.), data stores (e.g., hard disks, memories,databases), networks, software components, and/or hardware componentsthat can be used to allow users to query the one or more data stores 206and/or one or more platforms and receive query results. The searchplatform 245 can include a content feed component 290 to present acontent feed 295 that lists feed items, such as, query results in theuser interface of the communication application 215.

The advertisement platform 265 can provide video advertisements. In oneimplementation, the advertisement platform 265 provides one or moreadvertisements to the content sharing component 240 and/or one or moreplatforms (e.g., content sharing platform 220, recommendation platform257, advertisement platform 265, mobile platform 250, social networkplatform 260, search platform 245, content provider platform 297, andcollaboration platform 255), for presentation, for example, in a contentfeed 295 via a communication application 215 on a client deice 210A-210Zto a user. The advertisement platform 265 can be one or more computingdevices (such as a rackmount server, a router computer, a servercomputer, a personal computer, a mainframe computer, a laptop computer,a tablet computer, a desktop computer, etc.), data stores (e.g., harddisks, memories, databases), networks, software components, and/orhardware components that can be used to provide the videoadvertisements. The advertisement platform 265 can include a contentfeed component 290 to present a content feed 295 that lists feed items,such as, video advertisements in the user interface of the communicationapplication 215.

The content sharing platform 220 can be one or more computing devices(such as a rackmount server, a router computer, a server computer, apersonal computer, a mainframe computer, a laptop computer, a tabletcomputer, a desktop computer, etc.), data stores (e.g., hard disks,memories, databases), networks, software components, and/or hardwarecomponents that can be used to provide one or more users with access tocontent items 221 and/or provide the content items 221 to one or moreusers. For example, the content sharing platform 220 may allow users toconsume, upload, download, and/or search for content items 221. Inanother example, the content sharing platform 220 may allow users toevaluate content items 221, such as approve of (“like”), dislike,recommend, share, rate, and/or comment on content items 221. In anotherexample, the content sharing platform 220 may allow users to editcontent items 221. The content sharing platform 220 can also include awebsite (e.g., one or more webpages) and/or one or more applications(e.g., communication applications 215) that may be used to provide oneor more users with access to the content items 221, for example, viauser devices 210A-210Z. Content sharing platform 220 can include anytype of content delivery network providing access to content items 221.The content sharing platform 220 can include a content feed component290 to present a content feed 295 that lists feed items, such as contentitems 221 in the user interface of the communication application 215.

The content sharing platform 220 can include multiple channels (e.g.,Channel A 225 through Channel Z 229). A channel can be data contentavailable from a common source or data content having a common topic ortheme. The data content can be digital content chosen by a user, digitalcontent made available by a user, digital content uploaded by a user,digital content chosen by a content provider, digital content chosen bya broadcaster, etc. For example, Channel A 225 may include videos Y andZ. A channel can be associated with an owner, who is a user that canperform actions on the channel. The data content can be one or morecontent items 221.

Different activities can be associated with the channel based on thechannel owner's actions, such as the channel owner making digitalcontent available on the channel, the channel owner selecting (e.g.,liking) digital content associated with another channel, the channelowner commenting on digital content associated with another channel,etc. The activities associated with the channel can be collected into acontent feed 295 for the channel. Users, other than the owner of thechannel, can subscribe to one or more channels in which they areinterested. Once a user subscribes to a channel, the user can bepresented with information from the channel's activity feed. A contentfeed 295 for a channel can be a list of recent activity associated withthe user and occurring on a social network. If a user subscribes tomultiple channels, the content feed 295 for each channel to which theuser is subscribed can be combined into a syndicated content feed 295.Information from the syndicated content feed 295 can be presented to theuser. Although channels are described as one implementation of a contentsharing platform, implementations of the disclosure are not limited tocontent sharing platforms that provide content items 221 via a channelmodel.

The server 230 can be one or more computing devices (e.g., a rackmountserver, a server computer, etc.). In one implementation, the server 230is included in one or more of the platforms. In another implementation,the server 230 is separate from the platforms, but may communicate(e.g., exchange data) with the one or more platforms.

The server 230 can include a content sharing component 240 for providingscrollable sets of videos (e.g., scrollable set of content items 107 inFIG. 1) to users via communication applications 215. The videos in thescrollable sets of videos can include one or more video advertisementsof content providers that are advertisers. The content sharing component240 can receive the video advertisements and/or identifiers of videoadvertisements from the advertisement platform 265 and/or one or moreother platforms, and provide the video advertisements and/or identifiersof the video advertisements to the communication application 215.

In one implementation, communication application 215 can include thescrollable sets of videos in a content feed 295 in a user interface thatis rendered on a user device 210A. The communication application 215 canreceive data (e.g., configuration data, feed item identifiers, feeditems, content item identifiers, content items, etc.) from a contentfeed component 290 for presenting a content feed 295 in a user interfaceon a user device 210A-210Z.

The communication application 215 can automatically play (auto-play)partially visible videos (e.g., partially visible video 109 in FIG. 1)in the scrollable set of content items in a user interface on a userdevice 210A-210Z. The communication application 215 can automaticallyplay a partially visible video in a scrollable set of content itemsbased on a trigger, as described in greater detail below in conjunctionwith FIG. 3. For example, a video in a scrollable set of content itemsmay be automatically triggered to play once a portion of the videobecomes visible in a user interface.

The server 230 and/or advertisement platform 265 can include acumulative-based fee component 235 for determining cumulativeconsumption times of videos of content providers (e.g., advertisers),and determining content provider fees to charge the content providersbased on a respective cumulative consumption time. The set of scrollablevideos can include one or more video advertisements. For example, a setof scrollable videos may include 5 videos. Three of the videos in theset of scrollable videos may be video advertisements for electricvehicles of content provider (e.g., advertiser) ACME Company. Thecumulative-based fee component 235 can determine a consumption time forindividual instances of the video advertisements of ACME Company beingplayed, and can use the consumption time for the individual instances ofthe video advertisements to determine a cumulative consumption time foradvertiser ACME Company. The cumulative-based fee component 235 candetermine a content provider fee to charge a content provider (e.g.,ACME Company) using the cumulative consumption time, as described ingreater detail below in conjunction with FIGS. 9-11.

For simplicity of explanation, the methods of this disclosure aredepicted and described as a series of acts. However, acts in accordancewith this disclosure can occur in various orders and/or concurrently,and with other acts not presented and described herein. Furthermore, notall illustrated acts may be required to implement the methods inaccordance with the disclosed subject matter. In addition, those skilledin the art will understand and appreciate that the methods couldalternatively be represented as a series of interrelated states via astate diagram or events. Additionally, it should be appreciated that themethods disclosed in this specification are capable of being stored onan article of manufacture to facilitate transporting and transferringsuch methods to computing devices. The term “article of manufacture,” asused herein, is intended to encompass a computer program accessible fromany computer-readable device or storage media.

FIG. 3 depicts a flow diagram of aspects of a method 300 forauto-playing one or more partially visible videos concurrently with avideo that is playing in a user interface, in accordance with oneimplementation of the present disclosure. The method 300 is performed byprocessing logic that may comprise hardware (circuitry, dedicated logic,etc.), software (such as is run on a general purpose computer system ora dedicated machine), or a combination of both. In one implementation,the method is performed by a communication application 215 in a userdevice 210A-210Z of FIG. 2, while in some other implementations one ormore blocks of FIG. 3 may be performed by another machine. For example,in various alternative implementations, at least a portion of the method300 can be performed by/at a content sharing component 240 in a servercomputing machine of FIG. 2. In one implementation, a processing deviceof a user device (e.g., user device 210A-210Z in FIG. 2) performs method300.

At block 310, the processing device receives a set of content items thatincludes a set of videos for presentation in a user interface renderedon a user device. The group of videos can be selected from videos thatare provided by content providers. One or more platforms (e.g., contentsharing platform 220, recommendation platform 257, advertisementplatform 265, mobile platform 250, social network platform 260, searchplatform 245, collaboration platform 255, and content provider platform297 in FIG. 2) can select the videos for the set of content items. Inone implementation, the one or more platforms can provide the selectedvideos and/or identifiers of the selected videos to the content sharingcomponent (e.g., content sharing component 240 in FIG. 2), and thecontent sharing component can send the selected videos and/oridentifiers of the selected videos to the communication application on auser device. In one implementation, the one or more platforms candirectly provide the selected videos and/or identifiers of the selectedvideos to the communication application on a user device.

At block 320, the processing device renders the user interface on theuser device and displays the set of content items in the user interface(e.g., in a content feed). The set of content items can be a scrollableset of items that includes a scrollable group of videos (e.g., presentedas a video carousel). A scrollable group of videos can include two ormore videos. A scrollable set of content items can be part of a contentfeed. In one example, the scrollable set of content items scrolls in thesame orientation in which the content feed scrolls. FIG. 4 depicts anexample scrollable set of content items scrolling in the same scrollingdirection as a presentation of a content feed, in accordance with oneimplementation of the present disclosure. A user interface 400 of anapplication can be rendered in a user device 403. The application may bea mobile application of a content provider that is a video hostingservice provider “XYZ123” via a content provider platform (e.g., contentprovider platform 297 in FIG. 2). The user interface 400 can present acontent feed that lists feed item 405, feed item 407, and feed item 409.Video 408 and video 411 may be video advertisements from the sameadvertiser or from different advertisers.

The user interface 400 can have the same orientation as the user device403. For example, the user device 403 may be in a portrait orientationand the user interface can also be in a portrait orientation. Thecontent feed can be scrollable in a direction that is parallel to anorientation of the user interface 400. For example, the user interface400 may be in a portrait orientation and the content feed can bescrolled in a vertical direction, from the top of the user interface 400to the bottom of the user interface 400, and/or from the bottom to thetop of the user interface 400. Feed item 407 can include a video 408,which is currently fully visible in user interface 400. Feed item 409can include a video 411, which is currently partially visible in userinterface 400. The scrollable set of content items can include video 408and video 411, which scroll in the same orientation in which the contentfeed scrolls.

In another example, the scrollable set of content items scrolls in adirection that is perpendicular to the scrolling direction of thecontent feed. FIG. 5 depicts an example scrollable set of content itemsscrolling in a direction that is perpendicular to the scrollingdirection of a content feed, in accordance with one implementation ofthe present disclosure. A user interface 500 of an application can berendered in a user device 503. The application may be a mobileapplication of a content provider, “ABCDE,” that is a service providerfor on-demand Internet streaming media via a content provider platform(e.g., content provider platform 297 in FIG. 2). The user interface 500can present a content feed that lists feed items, such as, a scrollableset 505 of thumbnails representing television shows that are currentlytrending, a scrollable set 507 of thumbnails representing televisiondrama shows, a scrollable set 515 of videos (e.g., video 517 and video519) that also includes a thumbnail 514 representing a television showthat has a strong female lead, and a scrollable set 521 of videos thatincludes a thumbnail 523 representing a video of a show that a user(e.g., Jane) has stopped watching, and a video 525. Video 517, video 519and video 525 may be video advertisements from the same advertiser orfrom different advertisers.

The user interface 500 can have the same portrait orientation as theuser device 503. The content feed can be scrollable in a verticaldirection, which is parallel to the vertical orientation of the userinterface 500. A user can swipe the content feed vertically from thebottom of the user interface 500 to top of the user interface 500,and/or in a top to bottom direction to present different items of thecontent feed in the user interface 500. The scrollable sets (e.g., set515 and set 521) of videos can scroll horizontally, which isperpendicular to the vertical scrolling direction of the content feed. Auser can swipe a scrollable set (e.g., set 515 and set 521) of videosfrom the right of the user interface 500 to left of the user interface500, and/or in a left to right direction to present different items ofthe respective scrollable set of content items in the user interface500.

In another example, a user device may be in a landscape orientation anda user interface can have the same orientation as the user device. Thecontent feed may be presented in the user interface to allow a user toscroll through the content feed in a horizontal direction. Thescrollable sets of videos in the content feed may be scrollable in avertical direction, which is perpendicular to the scrolling direction ofthe content feed. A user can swipe the content feed horizontally fromthe right of the user interface to the left of the user interface,and/or from the left to right of the user interface to present differentitems of the content feed in the user interface. A user can swipe ascrollable set of content items vertically from a top of a userinterface to the bottom of the user interface, and/or from the bottom totop of the user interface to present different items of the respectivescrollable set of content items in the user interface.

Referring to FIG. 3, at block 330, the processing device plays one videoof the set of content items in the user interface. In oneimplementation, the processing device plays a video that is fullyvisible in the user interface. For example, referring to FIG. 4, theprocessing device may play video 408 when the video 408 is fully visiblein the user interface 400. In one implementation, the processing deviceautomatically starts playing the video when the video becomes fullyvisible in the user interface. In one implementation, the processingdevice displays a thumbnail representation of the video and then playsthe video based on user input. The processing device can start playing avideo when user input is received to request the playing of the video.For example, a user may touch the thumbnail representation and/or a userinterface (UI) element that is displayed in the user interface fortriggering the processing device to play a corresponding video.Referring to FIG. 5, a user can select UI element 527 to trigger theprocessing device to play the video being represented by thumbnail 523.

Referring to FIG. 3, at block 330, in one implementation, the processingdevice plays a video that is partially visible in the user interface.FIG. 6 depicts examples of partially visible videos in a scrollable setof content items, in accordance with one implementation of the presentdisclosure. A user interface 600 of an application can be rendered in auser device 603. The application may be a mobile application of acontent provider “XYZ123” that is a video hosting service provider via acontent provider platform (e.g., content provider platform 297 in FIG.2). The user interface 600 can present a content feed that lists feeditem 605, feed item 607, and feed item 609. The set of content items caninclude video 608 and video 611. Video 608 and video 611 may be videoadvertisements from the same advertiser or from different advertisers.The processing device can play video 608 that is partially visible inthe user interface 600.

Referring to FIG. 3, at block 340, the processing device starts playingone or more other videos from the set of content items that arepartially visible in the user interface and concurrently with thecurrently playing video (referenced at block 330) in the user interface.In one implementation, the processing device plays a video thatimmediately follows the currently playing video in the ordered set ofcontent items. For example, referring to FIG. 4, the processing devicemay select to play video 411 while video 411 is partially visible in theuser interface 400 and concurrently with video 408 that is playing whilebeing fully visible in the user interface. In another example, referringto FIG. 5, a user may select UI element 527 to trigger the processingdevice to play the video being represented by thumbnail 523. Theprocessing device can play video 525 while video 525 is partiallyvisible in the user interface 500 and concurrently with the video, whichwas triggered by UI elements 527, that is playing while being fullyvisible in the user interface 500. In another example, referring to FIG.6, the processing device may play video 611 while video 611 is partiallyvisible in the user interface 600 and concurrently with video 608 thatis playing while being partially visible in the user interface.

Referring to FIG. 3, at block 350, the processing device may receiveuser input to transition one of the one or more partially visible videosinto a fully visible video in the user interface. A partially visiblevideo can transition into a fully visible video based on a trigger. Thetrigger can occur, for example, when a fully visible video finishesplaying, when a user swipes the scrollable set of content items, andwhen a user selects a partially visible video. FIG. 7 depicts an exampleof a partially visible video transitioning to a fully visible video, inaccordance with one implementation of the present disclosure. A userinterface 700 of an application can be rendered in a user device 703.The application may be a mobile application of a content provider,“SPN,” that is a service provider for on-demand Internet streaming mediavia a content provider platform (e.g., content provider platform 297 inFIG. 2). The user interface 700 can present a content feed that listsfeed items, such as information 706 for an upcoming sports event, ascrollable set 707 of content items, and information 719, 721, 723 forother upcoming sports events. The scrollable set 707 of content itemsincludes a partially visible video 709, a fully visible video 711A, andanother partially visible video 713A.

In one implementation, for example, when fully visible video 711Afinishes playing, the processing device automatically performs ananimation to position the partially visible video 713A as fully visiblevideo 713B in the user interface 700. The processing device canautomatically perform an animation to illustrate the scrolling of thescrollable set 707 of content items and render a different presentation717 of the scrollable set of content items. The processing device canautomatically perform an animation to illustrate the scrolling to thepartially visible video 713A in the user interface 700, and causingvideo 713B to become fully visible in the user interface 700. Forexample, the animation can move the scrollable set of content items fromright to left, to change the position of the partially visible video713A such that the partially visible video 713A becomes a fully visiblevideo 713B in the user interface 700. The animation can also move thescrollable set of content items, for example, from right to left, tochange the position of the fully visible video 711A such that the fullyvisible video 711A becomes partially visible video 711B in the userinterface 700.

In one implementation, when a partially visible video transitions into afully visible video in the user interface, the video continues to playwhile fully visible. For example, partially visible video 713A may beplaying while partially visible, and then may transition to fullyvisible video 713B and continue playing while fully visible. In oneimplementation, when a partially visible video transitions into a fullyvisible video in the user interface, the video can automatically restartplaying from the beginning of the video when the video becomes fullyvisible. For example, partially visible video 713A may be playing whilepartially visible and then may transition to fully visible video 713Band restart playing from the beginning when the video becomes fullyvisible. In one implementation, when a partially visible videotransitions into a fully visible video in the user interface, the audioof the video is enabled. For example, partially visible video 713A maybe disabled while playing as partially visible, and may then transitionto fully visible video 713B and play with the audio enabled.

FIG. 8 depicts examples of scrollable sets of content items, inaccordance with one implementation of the present disclosure. Thecontent items can include videos, thumbnails, images, text andcombinations of such. A user interface 800 of an application can berendered in a user device 803. The application may be a mobileapplication of content provider, “XYZ,” which is a service provider foron-demand Internet streaming media via a content provider platform(e.g., content provider platform 297 in FIG. 2). The user interface 800can present a content feed that lists feed items, such as a scrollableset of thumbnails and/or one or more scrollable sets of videos. Forexample, the scrollable set 805 of content items includes thumbnailsrepresenting television shows that are currently trending. In anotherexample, the scrollable set 815 of content items includes video 817,video 819, and a thumbnail 814 representing a television show that has astrong female lead. In yet another example, the scrollable set 821 ofcontent items includes a video being represented by thumbnail 823 of ashow that a user (e.g., Jane) has stopped watching, and another video825. Video 809, video 811, video 813, video 817, video 819 and video 825may be video advertisements from the same advertiser or from differentadvertisers.

In one implementation, all of the items in a scrollable set of contentitems are videos. For example, the scrollable set 807 of content itemsis a scrollable set of videos that includes video 809, video 811 andvideo 813. In FIG. 1, FIGS. 4-8, and FIG. 10, one or more other videosthat are not visible in a user interface (e.g., user interface 800) maybe part of a scrollable set of content items (e.g., scrollable set ofvideos).

In one implementation, one or more items in a scrollable set of contentitems are an image, thumbnail, and/or text. The images, thumbnailsand/or text can be positioned between videos, before a video, and/orafter a video in the scrollable set of content items. For example, thescrollable set 815 of content items includes a thumbnail 814 of an imageand has the thumbnail 814 positioned next to a video 817 in thescrollable set 815 of content items. In another example, the scrollableset 821 of content items includes a thumbnail 823, which represents avideo, and is positioned next to video 825 in the scrollable set 821 ofcontent items.

In one implementation, all of the videos in a scrollable set of contentitems are video advertisements for which an advertiser may be charged afee for, and are from the same advertiser. For example, video 809, video811 and video 813 may be video advertisements for the same advertiser,Advertiser-A. In one implementation, all of the videos in a scrollableset of content items are video advertisements, and are from at least twodifferent advertisers. For example, video 809 may be an advertisementfor a car for Advertiser-A, and video 811 and video 813 may be videoadvertisements for cars for a different advertiser, Advertiser-B.

In another implementation, at least one of the videos in the scrollableset of content items is not a video advertisement. For example, thescrollable set 815 of content items includes video 819, which may be avideo advertisement, and video 817, which may not be a videoadvertisement (e.g., video 817 may be a primary content video such as amovie clip, a TV show, etc.).

In one implementation, a video is played without audio. In oneimplementation, the audio of a video is disabled. For example, the audioof a video can be muted. One or more partially visible videos can beplayed with or without audio. In one implementation, one or morepartially visible videos are automatically played without audio. One ormore fully visible videos can be played with or without audio. In oneimplementation, if more than one fully visible video is being played ina user interface, the fully visible videos are played without audio. Forexample, video 811 and video 817 may be displayed as fully visible atthe same time in the user interface 800. Processing device canautomatically play video 811 and video 817 concurrently without audio.In one implementation, the audio for a video that is playing can beenabled based on user input. For example, a user can select one or morevideos (e.g., video 811 or video 817) to enable the audio for theselected video(s).

In one implementation, one or more partially visible videos can beplayed while one or more fully visible videos are being represented by athumbnail and not yet played. For example, partially visible video 825can be played when the thumbnail 823 is displayed and the video beingrepresented by the thumbnail 823 is not yet played. In anotherimplementation, a partially visible video can be played concurrentlywith one or more fully visible videos playing. For example, partiallyvisible video 809 and/or partially visible video 813 can be playedconcurrently with one or more fully visible videos (e.g., video 811,video 817) playing.

The processing device can automatically play (auto-play) a video basedon a trigger. Different triggers or the same triggers can be applied todifferent content providers (e.g., advertisers). Different triggers orthe same triggers can be applied to the same content provider. Differenttriggers or the same triggers can be applied to different videos. Thetrigger can include one or more video parameters that specify the typeof other video that should be used to trigger the playing of a nextvideo. The video parameters can specify, for example, whether a video istriggered to auto-play by another video that is in the same set ofcontent items, by another video that is from the same content provider(e.g., advertiser), by another video that is fully visible in a userinterface, and/or by another video that is partially visible in the userinterface.

In one implementation, videos (e.g., partially visible videos) may onlybe triggered for auto-play based on a video that is part of the samescrollable set of content items and currently visible (e.g., partiallyvisible, fully visible) in the user interface. For example, video 809,video 811, and video 813 are included in the same scrollable set 807 ofcontent items. The auto-play of partially visible video 809 may only betriggered by fully visible video 811 and/or partially visible video 813.The auto-play of partially visible video 813 may only be triggered byfully visible video 811 and/or partially visible video 809. In anotherexample, video 817 and video 819 are included in the same scrollable set815 of content items, and the auto-play of partially visible video 819may only be triggered by fully visible video 817. In another example,video being represented by thumbnail 823 and video 825 are included inthe same scrollable set 821 of content items, and the auto-play ofpartially visible video 825 may only be triggered by the fully visiblevideo being represented by thumbnail 823.

In another implementation, a video may be triggered for auto-play basedon a video that is part of a different scrollable set of content itemsand currently visible (e.g., partially visible, fully visible) in theuser interface. For example, the auto-play of partially visible video813 can be triggered by a video in the scrollable set 815 of contentitems and/or by a video in the scrollable set 821 of content items.

In one implementation, a partially visible video may be triggered forauto-play based only on a fully video. The fully visible video can bepart of the same scrollable set of content items and/or part of adifferent scrollable set of content items. For example, the auto-play ofpartially visible video 813 can be triggered by fully visible video 811,fully visible video 817 and/or the fully visible video being representedby thumbnail 823.

In one implementation, a video may be triggered for auto-play based onanother video that is from the same content provider (e.g., advertiser).The other video can be part of the same scrollable set of content itemsand/or part of a different scrollable set of content items. For example,video 811, video 813, video 817 and video 825 can be from the samecontent provider, Advertiser-ABC. The auto-play of any video of video811, video 813, video 817 and video 825 can be triggered by anothervideo from Advertiser-ABC that is visible in the user interface. Forexample, the auto-play of partially visible video 813 can be triggeredby video 811, video 817 and/or video 825.

In one implementation, the trigger for a certain video is not based onanother video but rather on some properties of the certain video. Forexample, the trigger may specify that a video should be played once aportion of the video is visible in the user interface.

The trigger can include one or more time parameters. The individual timeparameters can specify a time period. The time period can beconfigurable and/or user defined. In one example, the time periodspecifies a period of time during which at least a portion of a videoshould be visible in a user interface. For example, the trigger toauto-play the partially visible video 813 may occur when at least aportion of the partially visible video 813 has been visible for aparticular time period (e.g., 3 seconds).

In one example, the time period specifies a period of time during whicha thumbnail (e.g., thumbnail 823), that represents a video, isdisplayed. For example, the trigger to auto-play a video (e.g.,partially visible video 825) may occur when a thumbnail (e.g., thumbnail823) for a video has been displayed for a particular time period (e.g.,3 seconds). For example, a thumbnail 823 is being displayed in the userinterface 800 and the fully visible video corresponding to the thumbnail823 is not yet played. When the processing device detects that thethumbnail 823 has been displayed for example, for 3 seconds, theprocessing device can automatically start playing another video (e.g.,partially visible video 825). The time period can be configurable and/oruser defined.

The time parameter can specify a period of time during which a video hasplayed. For example, the trigger to auto-play a video (e.g., partiallyvisible video 813) may occur when another video (e.g., fully visiblevideo, partially visible video) has played for a particular time period(e.g., 5 seconds). For example, when the processing device detects thata fully visible video 811 has played for 5 seconds, the processing canautomatically start playing partially visible video 813.

The time parameter can specify a period of time preceding the ending ofa video that is currently playing. For example, the trigger to auto-playa video may be a particular time period prior to another video endingits play. For example, the particular time period may be 5 seconds.Individual videos have a length of time. For example, video 817 may havea length of time of 30 seconds. When the processing device detects thatthe video 817 has played for 25 seconds, which is 5 seconds prior to theending of the length of time for the video 817, the processing devicecan automatically start playing another video (e.g., partially visiblevideo 819).

The trigger can specify that a video should start playing when anothervideo reaches its end. For example, fully visible video 817 may beplaying may have a length of time of 30 seconds. The processing devicecan automatically play another video (e.g., partially visible video 813)when the fully visible video 817 finishes playing its length of time of30 seconds.

The trigger can specify that a video should start playing when anothervideo is paused or stopped. A video can be paused or stopped based oninput (e.g., user input) that is received, for example, by a touch ofthe display (e.g., touch screen) or by a selection of a UI element in aGUI for pausing or stopping a video. For example, the fully visiblevideo 811 may be playing, and a user may touch the fully visible video811 to pause the playing of the fully visible video 811. The processingdevice can detect that the fully visible video 811 is paused and canautomatically start playing another video (e.g., partially visible video813).

The trigger can specify that a video should start playing when userinput is received to scroll the set of content items. The user input canbe a swiping gesture with respect to the set of content items. Forexample, the processing device may detect a user swiping the set 821 ofvideos from right to left and may automatically play the partiallyvisible video 825.

FIG. 9 depicts a flow diagram of aspects of a method 900 for determininga content provider fee based on a cumulative consumption time, inaccordance with one implementation of the present disclosure. The method900 is performed by processing logic that may comprise hardware(circuitry, dedicated logic, etc.), software (such as is run on ageneral purpose computer system or a dedicated machine), or acombination of both. In one implementation, the method is performed by acumulative-fee based component 240 in a server 230 and/or acumulative-fee based component 240 in an advertisement platform 265 ofFIG. 2. In one implementation, a processing device of a server performsmethod 900.

At block 910, the processing device determines that consumption time ofa video for a content provider does not satisfy a threshold. The contentprovider can be a particular advertiser and the video can be a videoadvertisement associated with the particular advertiser. The thresholdcan be a billing threshold that specifies a minimum amount ofconsumption time associated with charging the content provider (e.g.,advertiser) a content provider fee. The billing threshold can becompared with a cumulative consumption time of one or more instances ofplaying a video of the advertiser and/or playing multiple videos of theadvertiser. The billing threshold can be configurable and/oruser-defined. The billing threshold can be stored in a data store.

The processing device can determine the consumption time for the videobased on one or more logs that can be received, for example, from one ormore communication applications (e.g., communication application 215 inFIG. 2). In one implementation, the logs indicate consumption time onlyfor a video that is played while being fully visible in a userinterface. In another implementation, the logs indicate consumption timefor a video that is played while being fully visible in a user interfaceand partially visible in a user interface. The logs can be received fromdifferent communication applications on different user devices. The logscan be stored in one or more data store (e.g., data store 206 in FIG. 2)and accessible to the cumulative-fee based component.

For example, referring to FIG. 2, the cumulative-fee based component 240can receive logs for videos from communication application 215 on userdevice 210A and from communication application 215 on user device 210Z.Each log can include, for example, a video identifier, a contentprovider identifier, an instance identifier, a communication applicationidentifier, a user device identifier, and/or a timestamp for sending therespective log. In one implementation, while an instance (e.g., InstanceZ) of video (e.g., Video X) is being played on a device (e.g., DeviceY), a communication application on Device Y can send a log for the VideoX according to a schedule (e.g., every 2 seconds) to the cumulative-feebased component until the video (e.g., Video X) is no longer playing.For example, Video X can start playing on Device Y and the communicationapplication can send a log to the cumulative-fee based component every 2seconds until Video X is no longer playing. If the cumulative-fee basedcomponent receives 2 logs for Video X for Instance Z on Device Y, anddoes not receive any other logs for Video X for Instance Z on Device Y,the cumulative-fee based component can determine that the consumptiontime for Video X for Instance Z on Device Y is at least 4 seconds.

In one implementation, the billing threshold is applied to consumptiontime per device for a particular video of an advertiser. The billingthreshold can specify an amount of consumption time that should besatisfied from one or more instances of consuming the video of theadvertiser by an individual device before charging the advertiser a fee.For example, the cumulative-fee based component can use one or moreidentifiers in the logs from a particular device (e.g., user device 210Ain FIG. 2) to determine consumption time for Video X of Advertiser-ABCplaying on Device Y, and determine whether the consumption time forVideo X of Advertiser-ABC playing on Device Y satisfies the billingthreshold.

In another implementation, the billing threshold is applied toconsumption time for a particular video of an advertiser acrossmultiples devices. For example, the cumulative-fee based component canuse one or more identifiers in the logs from multiple devices (e.g.,Device Y, Device M, and Device N) to determine consumption time forVideo X of Advertiser-ABC playing on Device Y, Device M, and Device N,and determine whether the consumption time for Video X of Advertiser-ABCplaying on Device Y, Device M, and Device N satisfies the billingthreshold.

In one implementation, the billing threshold can be associated with atime period. The billing threshold can specify an amount of consumptiontime that should be satisfied within the time period before charging anadvertiser a fee. The time period is configurable and/or user-defined.The time period can be a rolling time period (e.g., the last 1 hour).The time period can be a particular time (e.g., 3:00 pm to 4:00 pm). Atime period parameter can be stored in a data store (e.g., data store206 in FIG. 2). For example, the time period may be the last 1 hourrelative to the current time, and the processing device can use the logsreceived from one or more user devices for the last hour to determinethe consumption time for the video for the last hour. The processingdevice can determine whether the consumption time for the video for thelast hour satisfies the billing threshold.

Referring to FIG.9, at block 910, the processing device may locate 2logs for Video X for Instance Z on Device Y. The processing device maydetermine from the logs that each log is scheduled to be sent every 2seconds, and the processing device can determine that the consumptiontime for Video X for Instance Z on Device Y is at least 4 seconds. Thebilling threshold can be stored in a data store. The billing thresholdmay be 15 seconds. For example, a content provider should not be chargeda fee unless the billing threshold of 15 seconds is satisfied. Theprocessing device may determine that the consumption time for Video Xfor Instance Z on Device Y is at least 4 seconds and does not satisfythe threshold of 15 seconds.

At block 920, the processing device selects at least one other video ofthe content provider (e.g., advertiser). The processing device canselect a video based on one or more selection criteria. The selectioncriteria can be stored in a data store. The selection criteria can beconfigurable and/or user-defined. The selection criteria can be assignedto a particular content provider. The selection criteria may specifywhether the selected video should be from the same scrollable set ofcontent items and/or from a different scrollable set of content items,another instance of the same video, an instance of a different videofrom the same content provider, a video that is played on the same userdevice and/or a different user device, and/or a video that is playedwithin a particular time and/or time period (e.g., within an hour).

FIG. 10 depicts examples of scrollable sets of videos, in accordancewith one implementation of the present disclosure. A user interface 1000of an application can be rendered in a user device 1003. The applicationmay be a mobile application of a content provider that is a serviceprovider for on-demand Internet streaming media via a content providerplatform (e.g., content provider platform 297 in FIG. 2). The userinterface 1000 can present a content feed that lists feed items, suchas, thumbnails of videos that a user can continue to watch, thumbnailsof videos of television shows that have been recently added by theservice provider, and thumbnails of videos of movies that have beenrecently added by the service provider. The content feed can include ascrollable set 1007 of videos, which includes a fully visible video1004, a partially visible video 1005, and thumbnails of videos that auser can continue to watch. The content feed can also include ascrollable set 1009 of videos, which includes a fully visible video1011, a partially visible video 1013, and thumbnails representing movievideos that have been recently added by the service provider. In oneimplementation, the videos belonging to the same scrollable set ofcontent items may be from the same advertiser. For example, video 1004and video 1005 are videos of the same advertiser, Advertiser-A. Inanother implementation, the videos belonging to the same scrollable setof content items are from different advertisers. For example, video 1004is from Advertiser-A, and video 1005 is from Advertiser-B.

Referring to FIG. 9, at block 910, the processing device may havedetermined that the consumption time for playing an instance of video1004 in scrollable set 1007 of videos on device 1003 is at least 4seconds. At block 920, for example, the selection criteria may specifythat the processing device should select a video from the samescrollable set of content items, and the processing device may selectvideo 1005 from the scrollable set 1007 of videos.

The processing device can select a video to satisfy the selectioncriteria using one or more identifiers in the logs. The logs for thevideos can include a scrollable set identifier, a video identifier, acontent provider identifier, an instance identifier, a communicationapplication identifier, a user device identifier, and/or a timestamp forsending the respective log. The processing device can locate logs, whichhave matching scrollable set identifiers, to determine which videosbelong to the same scrollable set of content items and may selectanother video from the same scrollable set of content items.

At block 930, the processing device determines consumption time of theat least one other video of the content provider (e.g., advertiser). Theprocessing device can use the logs for the at least one video todetermine the consumption time. For example, the processing device maydetermine from the logs for video 1005 that the consumption time forplaying an instance of video 1005 on device 1003 is at least 14 seconds.

At block 940, the processing device determines that a cumulativeconsumption time of the video and the at least one other video satisfiesthe threshold. In one implementation, the processing device combines theindividual consumption times to determine the cumulative consumptiontime. For example, the processing device combines the 4 secondsconsumption time for video 1004 with the 14 seconds consumption time forvideo 1005 to determine a cumulative consumption time of 18 seconds,which satisfies the billing threshold of 15 seconds.

When a billing threshold is satisfied, a content provider (e.g.,advertiser) can be charged a content provider fee. At block 950, theprocessing device determines a content provider fee based on thecumulative consumption time (e.g., 18 seconds).

FIG. 11 depicts a flow diagram of aspects of a method 1100 fordetermining a content provider fee based on a cumulative consumptiontime and multiple thresholds, in accordance with one implementation ofthe present disclosure. The method 1100 is performed by processing logicthat may comprise hardware (circuitry, dedicated logic, etc.), software(such as is run on a general purpose computer system or a dedicatedmachine), or a combination of both. In one implementation, the method isperformed by a communication application 215 in a user device 210A-210Zof FIG. 2, while in some other implementations one or more blocks ofFIG. 11 may be performed by another machine. For example, in variousalternative implementations, at least a portion of the method 1100 canbe performed by/at a content sharing component 240 in a server computingmachine of FIG. 2. In one implementation, a processing device of a userdevice (e.g., user device 210A-210Z in FIG. 2) performs method 1100.

At block 1110, the processing device determines consumption time of aninstance of playing a video of a content provider. At block 1120, theprocessing device determines whether the consumption time of theinstance of playing the video satisfies a per instance threshold. Theper instance threshold can specify an amount (e.g., 3 seconds) ofconsumption time that should be satisfied by the particular instance ofplaying the video before considering the consumption time for theparticular instance in determining the content provider fee. The perinstance threshold can be configurable and/or user-defined. The perinstance threshold can be stored in a data store.

If the consumption time does not satisfy the per instance threshold(block 1120), the processing device determines whether there is anadditional video of the content provider that satisfies one or moreselection criteria (block 1130). The selection criteria can be assignedto a particular content provider. The selection criteria may specifywhether the additional video should be from the same scrollable set ofcontent items and/or from a different scrollable set of content items,another instance of the same video, an instance of a different videofrom the same content provider, a video that is played on the same userdevice and/or a different user device, and/or a video that is playedwithin a particular time and/or time period (e.g., within an hour).

If the processing device determines there is no additional video thatsatisfies the one or more selection criteria (block 1130), theprocessing device determines that the content provider should not becharged for the video at block 1170. The consumption time of theparticular instance of the video is ignored and not considered whendetermining a content provider fee for the content provider (e.g.,advertiser) for this particular analysis period. Method 1100 or portionsof method 1100 can be iterative based on a frequency of determining acontent provider fee for a content provider. A frequency parameter fordetermining a content provider fee can be stored in configuration datain a data store. The frequency parameter can indicate an analysis periodof how often a content provider fee is determined for a contentprovider. For example, the frequency parameter may indicate that theanalysis period is hourly, daily, weekly, at one or more particulartimes (e.g., 12:00 pm, 12:00 am), etc., and the processing device canperform method 1100 and/or portions of method 1100 hourly, daily,weekly, at one or more particular times (e.g., 12:00 pm, 12:00 am), etc.For example, at block 1170, the processing device may determine thatthere is no charge for the content provider for that hour, day, or week,etc.

Referring to block 1120, if the consumption time does not satisfy theper instance threshold (block 1120), and if the processing devicedetermines there is an additional video that satisfies the one or moreselection criteria (block 1130), then the processing device selects theadditional video that that satisfies the one or more selection criteriaat block 1135. The processing device may determine that there is morethan one video that satisfies the one or more selection criteria atblock 1130. The selection criteria can include priority criteria todetermine which of the multiple videos to select at block 1135. Whenanother video is selected (block 1135), the processing device returns toblock 1110 to determine consumption time of the video.

If the consumption time for an instance of playing a video of anadvertiser satisfies the per instance threshold, the processing devicestores the consumption in memory (e.g., cache) that is coupled to theprocessing device at block 1125. At block 1140, the processing devicedetermines a cumulative consumption time for the video. The processingdevice can use the individual consumption times that are stored in thememory to determine the cumulative consumption time. If there is onlyone consumption time stored in memory, the processing device uses thesingle consumption time as the cumulative consumption time. For example,at block 1110, the processing device may determine that the consumptiontime for an instance of playing a video (e.g., video 1011 in FIG. 10) is25 seconds, and satisfies the per instance threshold of 3 seconds atblock 1120. At block 1140, the processing device can use the consumptiontime of 25 seconds for video 1011 as the cumulative consumption time atblock 1140.

At block 1150, the processing device determines whether the cumulativeconsumption time (e.g., 25 seconds) satisfies a billing threshold. Ifthe cumulative consumption time satisfies the billing threshold (block1150), the processing device determines a content provider fee based onthe cumulative consumption time at block 1160. For example, the billingthreshold may be 15 seconds, and the processing device may determinethat the cumulative consumption time of 25 seconds for the instance ofplaying video 1011 satisfies the billing threshold. The processingdevice may determine a content provider fee based on the cumulativeconsumption time (e.g., 25 seconds) at block 1160.

If the cumulative consumption time does not satisfy the billingthreshold (block 1150), the processing device determines whether toselect another video of the content provider at block 1130 based oncriteria, such as selection criteria described in conjunction with FIG.9. For example, at block 1110, the processing device may determine thata consumption time of a video (e.g., video 1004 in FIG. 10) is 4seconds, and satisfies the per instance threshold of 3 seconds at block1120. The processing device can store the consumption time of 4 secondsfor video 1004 in memory at block 1125. At block 1140, the processingdevice can use the consumption time of 4 seconds for video 1004 that isstored in the memory as the cumulative consumption time at block 1140.At block 1150, the processing device may determine that the cumulativeconsumption time of 4 seconds does not satisfy the billing threshold of15 seconds. The processing device can determine whether to selectanother video (e.g., video 1005 in FIG. 10) at block 1130, select thevideo based on one or more selection criteria and/or priority criteriaat block 1135, and may return to block 1110 to determine that theconsumption time for video 1005 is 14 seconds. At block 1120, theprocessing device may determine that the consumption time of 14 secondsfor video 1005 satisfies the per instance threshold of 3 seconds, andstores the consumption time of 14 seconds for video 1005 in memory atblock 1125. The memory now stores a consumption time of 4 seconds forvideo 1004 and a consumption time of 14 seconds for video 1005. At block1140, the processing device can determine the cumulative consumptiontime for the videos (e.g., video 1004 and video 1005) using theindividual consumption times that are stored in the memory. Theprocessing device can determine a sum of the individual consumptiontimes that are stored in the memory. For example, the processing devicemay determine that the cumulative consumption time is 18 seconds.

At block 1150, the processing device may determine that the cumulativeconsumption time of 18 seconds satisfies the billing threshold of 15seconds. In one implementation, the processing device clears the memory(e.g., cache) when the cumulative consumption time satisfies the billingthreshold. At block 1160, the processing device determines a contentprovider fee based on the cumulative consumption time (e.g., 18seconds).

FIG. 12 illustrates a diagram of a machine in an example form of acomputer system 1200 within which a set of instructions, for causing themachine to perform any one or more of the methodologies discussedherein, can be executed, in accordance with one implementation of thepresent disclosure. The computer system 1200 can be user device210A-210Z in FIG. 2. The computer system 1200 can be server computingmachine in a platform (e.g., content sharing platform 220,recommendation platform 257, promotion platform 265, mobile platform250, social network platform 260, search platform 245, and collaborationplatform 255) in FIG. 2. In alternative implementations, the machine canbe connected (e.g., networked) to other machines in a LAN, an intranet,an extranet, or the Internet. The machine can operate in the capacity ofa server or a client machine in client-server network environment, or asa peer machine in a peer-to-peer (or distributed) network environment.The machine can be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a server, a network router, switch or bridge, or any machinecapable of executing a set of instructions (sequential or otherwise)that specify actions to be taken by that machine. Further, while only asingle machine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein.

The example computer system 1200 includes a processing device(processor) 1202, a main memory 1204 (e.g., read-only memory (ROM),flash memory, dynamic random access memory (DRAM) such as synchronousDRAM (SDRAM), double data rate (DDR SDRAM), or DRAM (RDRAM), etc.), astatic memory 1206 (e.g., flash memory, static random access memory(SRAM), etc.), and a data storage device 1218, which communicate witheach other via a bus 1230.

Processor (processing device) 1202 represents one or moregeneral-purpose processing devices such as a microprocessor, centralprocessing unit, or the like. More particularly, the processor 1202 canbe a complex instruction set computing (CISC) microprocessor, reducedinstruction set computing (RISC) microprocessor, very long instructionword (VLIW) microprocessor, or a processor implementing otherinstruction sets or processors implementing a combination of instructionsets. The processor 1202 can also be one or more special-purposeprocessing devices such as an application specific integrated circuit(ASIC), a field programmable gate array (FPGA), a digital signalprocessor (DSP), network processor, or the like. The processor 1202 isconfigured to execute instructions 1222 for performing the operationsand steps discussed herein.

The computer system 1200 can further include a network interface device1208. The computer system 1200 also can include a video display unit1210 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)),an input device 1212 (e.g., a keyboard, and alphanumeric keyboard, amotion sensing input device, touch screen), a cursor control device 1214(e.g., a mouse), and a signal generation device 1216 (e.g., a speaker).The computer system 1200 also can include a camera 1217 to record imagesthat can be stored directly, transmitted to another location, or both.These images can he still photographs or moving images such as videos ormovies. The camera 1217 can be a depth aware camera that can capture RGBimages along with per-pixel depth information.

The data storage device 1218 can include a non-transitorycomputer-readable storage medium 1228 on which is stored one or moresets of instructions 1222 (e.g., software) embodying any one or more ofthe methodologies or functions described herein. The instructions 1222can also reside, completely or at least partially, within the mainmemory 1204 and/or within the processor 1202 during execution thereof bythe computer system 1200, the main memory 1204 and the processor 1202also constituting computer-readable storage media. The instructions 1222can further be transmitted or received over a network 1220 via thenetwork interface device 1208.

In one implementation, the instructions 1222 include instructions for acommunication application (e.g., communication application 215 in FIG.2) and/or a software library containing methods that call thecommunication application. In one implementation, the instructions 1222include instructions for a content sharing component (e.g., contentsharing component 240 in FIG. 2) and/or a software library containingmethods that call the content sharing component. While thecomputer-readable storage medium 1228 (machine-readable storage medium)is shown in an exemplary implementation to be a single medium, the term“computer-readable storage medium” should be taken to include a singlemedium or multiple media (e.g., a centralized or distributed database,and/or associated caches and servers) that store the one or more sets ofinstructions. The term “computer-readable storage medium” shall also betaken to include any medium that is capable of storing, encoding orcarrying a set of instructions for execution by the machine and thatcause the machine to perform any one or more of the methodologies of thepresent disclosure. The term “computer-readable storage medium” shallaccordingly be taken to include, but not be limited to, solid-statememories, optical media, and magnetic media.

In the foregoing description, numerous details are set forth. It will beapparent, however, to one of ordinary skill in the art having thebenefit of this disclosure, that the present disclosure can be practicedwithout these specific details. In some instances, well-known structuresand devices are shown in block diagram form, rather than in detail, inorder to avoid obscuring the present disclosure.

Some portions of the detailed description have been presented in termsof algorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, for reasons of common usage, to refer tothese signals as bits, values, elements, symbols, characters, terms,numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “receiving”, “rendering”, “determining”, “selecting”, orthe like, refer to the actions and processes of a computer system, orsimilar electronic computing device, that manipulates and transformsdata represented as physical (e.g., electronic) quantities within thecomputer system's registers and memories into other data similarlyrepresented as physical quantities within the computer system memoriesor registers or other such information storage, transmission or displaydevices.

For simplicity of explanation, the methods are depicted and describedherein as a series of acts. However, acts in accordance with thisdisclosure can occur in various orders and/or concurrently, and withother acts not presented and described herein. Furthermore, not allillustrated acts can be required to implement the methods in accordancewith the disclosed subject matter. In addition, those skilled in the artwill understand and appreciate that the methods could alternatively berepresented as a series of interrelated states via a state diagram orevents. Additionally, it should be appreciated that the methodsdisclosed in this specification are capable of being stored on anarticle of manufacture to facilitate transporting and transferring suchmethods to computing devices. The term article of manufacture, as usedherein, is intended to encompass a computer program accessible from anycomputer-readable device or storage media.

Certain implementations of the present disclosure also relate to anapparatus for performing the operations herein. This apparatus can beconstructed for the intended purposes, or it can comprise a generalpurpose computer selectively activated or reconfigured by a computerprogram stored in the computer. Such a computer program can be stored ina computer readable storage medium, such as, but not limited to, anytype of disk including floppy disks, optical disks, CD-ROMs, andmagnetic-optical disks, read-only memories (ROMs), random accessmemories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any typeof media suitable for storing electronic instructions.

Reference throughout this specification to “one implementation” or “animplementation” means that a particular feature, structure, orcharacteristic described in connection with the implementation isincluded in at least one implementation. Thus, the appearances of thephrase “in one implementation” or “in an implementation” in variousplaces throughout this specification are not necessarily all referringto the same implementation. In addition, the term “or” is intended tomean an inclusive “or” rather than an exclusive “or.” Moreover, thewords “example” or “exemplary” are used herein to mean serving as anexample, instance, or illustration. Any aspect or design describedherein as “exemplary” is not necessarily to be construed as preferred oradvantageous over other aspects or designs. Rather, use of the words“example” or “exemplary” is intended to present concepts in a concretefashion.

It is to be understood that the above description is intended to beillustrative, and not restrictive. Many other implementations will beapparent to those of skill in the art upon reading and understanding theabove description. The scope of the disclosure should, therefore, bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

In situations in which the systems discussed here collect personalinformation about users, or may make use of personal information, theusers may be provided with an opportunity to control whether programs orfeatures collect user information (e.g., information about a user'ssocial network, social actions or activities, profession, a user'spreferences, or a user's current location), or to control whether and/orhow to receive content from the content server that may be more relevantto the user. In addition, certain data may be treated in one or moreways before it is stored or used, so that personally identifiableinformation is removed. For example, a user's identity may be treated sothat no personally identifiable information can be determined for theuser, or a user's geographic location may be generalized where locationinformation is obtained (such as to a city, ZIP code, or state level),so that a particular location of a user cannot be determined. Thus, theuser may have control over how information is collected about the userand used by a content server.

In situations in which the systems discussed here collect personalinformation about users, or may make use of personal information, theusers may be provided with an opportunity to control whether programs orfeatures collect user information (e.g., information about a user'ssocial network, social actions or activities, profession, a user'spreferences, or a user's current location), or to control whether and/orhow to receive content from the content server that may be more relevantto the user. In addition, certain data may be treated in one or moreways before it is stored or used, so that personally identifiableinformation is removed. For example, a user's identity may be treated sothat no personally identifiable information can be determined for theuser, or a user's geographic location may be generalized where locationinformation is obtained (such as to a city, ZIP code, or state level),so that a particular location of a user cannot be determined. Thus, theuser may have control over how information is collected about the userand used by a content server.

1-20. (canceled)
 21. A method for playing partially visible videos,comprising: receiving, by a computing device, a plurality of contentitems comprising a plurality of videos for presentation by the computingdevice; rendering, via a user interface of the computing device, a firstvideo of the plurality of content items; enabling output, by thecomputing device, of audio associated with the first video; concurrentlyrendering, via the user interface, a second video of the plurality ofcontent items, wherein the second video is partially visible in the userinterface; and responsive to the second video being partially visible inthe user interface, disabling output, by the computing device, of audioassociated with the second video.
 22. The method of claim 21, whereinthe plurality of content items is displayed in a content feed in theuser interface, the content feed being scrollable in a first directionparallel to an orientation of the user device, and the plurality ofcontent items being scrollable in the content feed in a second directionthat is perpendicular to the first direction of the content feed. 23.The method of claim 21, further comprising instructing, by the computingdevice, a communication application on the user device to periodicallysend a log file comprising playback information for at least one of thefirst video and the second video.
 24. The method of claim 23, furthercomprising determining, by the computing device, whether a playback timeof at least one of the first video and the second video during a periodin which the at least one of the first video and the second video was atleast partially visible on the user interface satisfies a threshold. 25.The method of claim 24, further comprising: responsive to the playbacktime satisfying the threshold, obtaining, by the computing device from adata store, configuration data comprising a charge frequency parameter;based on the charge frequency parameter and the playback time of the atleast one of the first video and the second video, generating, by thecomputing device, content provider charge data; and transmitting, by thecomputing device, content provider charge data to a content providercomputing system.
 26. The method of claim 21, further comprising:transitioning, by the computing device, the second video into a fullyvisible state; and responsive to the second video transitioning into thefully visible state, restarting, by the computing device, playback ofthe second video from a beginning of the second video.
 27. The method ofclaim 26, further comprising, responsive to the second videotransitioning into the fully visible state, enabling, by the computingdevice, the audio associated with the second video.
 28. The method ofclaim 21, wherein the second video is associated with a video parameterspecifying a state of a third video, the method further comprisingautomatically playing the second video, responsive to the third videoplaying in the specified state.
 29. The method of claim 28, wherein thestate of the third video is fully visible.
 30. The method of claim 28,wherein the state of the third video is partially visible.
 31. A systemfor automatically playing partially videos, comprising: a computingsystem comprising a processor, a memory device, and a network interface,the processor coupled to the memory device and configured to: receive aplurality of content items comprising a plurality of videos forpresentation to a user; render, via a user interface, a first video ofthe plurality of content items; enable output of audio associated withthe first video; concurrently render, via the user interface, a secondvideo of the plurality of content items, wherein the second video ispartially visible in the user interface; and responsive to the secondvideo being partially visible in the user interface, disable output ofaudio associated with the second video.
 32. The system of claim 31,wherein the plurality of content items is displayed in a content feed inthe user interface, the content feed being scrollable in a firstdirection parallel to an orientation of the user device, and theplurality of content items being scrollable in the content feed in asecond direction that is perpendicular to the first direction of thecontent feed.
 33. The system of claim 31, wherein the processor isfurther configured to instruct a communication application on thecomputing system to periodically send a log file comprising playbackinformation for at least one of the first video and the second video.34. The system of claim 33, wherein the processor is further configuredto determine whether a playback time of at least one of the first videoand the second video during a period in which the at least one of thefirst video and the second video was at least partially visible on theuser interface satisfies a threshold.
 35. The system of claim 34,wherein the processor is further configured to: responsive to theplayback time satisfying the threshold, obtain, from a data store,configuration data comprising a charge frequency parameter; based on thecharge frequency parameter and the playback time of the at least one ofthe first video and the second video, generate content provider chargedata; and transmit content provider charge data to a content providercomputing system.
 36. The system of claim 31, wherein the processor isfurther configured to: transition the second video into a fully visiblestate; and responsive to the second video transitioning into the fullyvisible state, restart playback of the second video from a beginning ofthe second video.
 37. The system of claim 36, wherein the processor isfurther configured to, responsive to the second video transitioning intothe fully visible state, enable the audio associated with the secondvideo.
 38. The system of claim 31, wherein the second video isassociated with a video parameter specifying a state of a third video,the processor is further configured to automatically play the secondvideo, responsive to the third video playing in the specified state. 39.The system of claim 38, wherein the state of the third video is fullyvisible.
 40. The system of claim 38, wherein the state of the thirdvideo is partially visible.